home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Zoom 2
/
Zoom - Release 2 (1996)(Active Software)[!].iso
/
games
/
think
/
grac
/
docs
/
introduction.doc
< prev
next >
Wrap
Text File
|
1995-09-05
|
13KB
|
294 lines
GRAC Introduction
-----------------
Before you start looking through this file, I will point out that you
won't find any instructions for actually using GRAC in here. Those details
are in the reference file. This file is here to explain what GRAC is all
about, particularly to non-programmers who may find the concepts unfamiliar.
What is GRAC?
------------
GRAC is a slightly dodgy acronym for GRaphic Adventure Creator. As you
would expect, it is used to create graphic adventures. I don't have to
explain what a graphic adventure is do I? If you don't know, go to your local
computer shop and buy Monkey Island 2 or Beneath a Steel Sky, play it all
the way through then come back....
...right, that's a graphic adventure.
So why write an adventure game?
---------------------------------------
Writing your own graphic adventure may seem a little daunting at
first, but consider the following:
1. GRAC does a lot of the hard work, such as handling characters and the
control panel. You won't have to become a programmer, so you can
concentrate on the design.
2. You don't have to create a 15 disk monster, even a small adventure is
worthwhile and could be released as PD.
3. The graphics don't have to be brilliant, what counts is the gameplay.
Look at the early Lucasfilm games if you don't believe me.
Above all, writing graphic adventures is an enjoyable and challenging
hobby, and even a source of income if you're good enough at it.
Making graphic adventures
-------------------------
A graphic adventure is something like an interactive stage play. The
actors (which I call characters) perform in front of a backdrop (a picture,
drawn in a graphics package such as Dpaint). They use props (objects) and
exit to other scenes. They also follow a script, and characters in graphic
adventures can do this too. In fact, writing a graphic adventure is probably
the closest you can come to making a film on your Amiga.
Every production begins with a plot, and adventure games are no
exception. The first thing that you have to do is decide on a scenario, and
what is going to happen in the game. Then, give the player an objective, so
that they know what they are trying to do. Of course, this could be hidden
at first to add a sense of mystery, if that's what you want. After that you
will need to create some characters. The most important character is the one
controlled by the player. The others are commonly known as NPC's or
non-player characters. Each character will need to have a personality, a
purpose in the game, and a set of sprites showing what they look like,
performing every action that they will need to make.
Drawing characters
------------------
Load into a graphics program the file 'Character.iff'. These are the
basic positions for a character. Note that each frame is replicated in three
directions: facing right, into, and out of the screen. There is no need for
the fourth direction because the right-facing frames can be flipped
horizontally. There are 8 frames of the character walking, one reaching up,
across and down (optional) and one of the character standing, with the head
separate. The head is drawn in four positions, to animate it when the
character speaks. To this you can add any other animations, but these will
be in one direction only. Note that underneath each frame is a dot. This is
the 'hot spot' (or the 'handle' as dpaint calls it). When the character is
drawn at a point on screen, it is positioned using the hot spot. It is very,
very important that the hot spot is set to the same relative position in
every frame, otherwise the animation will jump all over the place.
(technical note: characters move 5 pixels per frame when walking across
the screen, and three pixels per frame walking into or out of the screen.)
Animating characters takes practise, so use my character as a guide. You
could even use the ready made character in your own game, until you are
ready to draw your own.
A brief note about the colour palette: This is taken from the room, not
the character, so make sure that the colours are the same. I usually draw
all of the characters using the last 16 colours, and keep these the same in
every room. The first 16 colours can then be altered to suit the particular
room without affecting the characters. Colours 17,18 and 19 are also used
for the mouse pointer, and this applies to the control panel too.
AGA is not supported yet by AMOS. As soon as it is, it will also be
available in GRAC.
To include the character in a game, each frame must be 'grabbed' in GRAC's
character editor. This is something like picking up a brush in Dpaint. The
character is then saved as a single file and is ready for use.
Designing the control panel
---------------------------
Most adventures have one of these. The control panel is a section of the
screen which contains:
1. Buttons for all available verbs,
2. A window for the inventory and other text.
3. A message line.
A verb, as you probably know, is an action word. Consequently, the verbs
control all of the actions that the player's character can make. For example,
If the player selected the verb 'examine', then clicked on an object, GRAC
would print a piece of text describing that object. Other verbs could be
'use', 'take' (no need for 'drop', usually), or 'talk'.
The player's inventory (a list of all object currently being carried) will
be printed in the text window. No graphical inventory in this version of
GRAC, sorry. Text will also be printed here when required.
The message line is for GRAC's own use, for printing the name of the
object under the mouse pointer, among other things.
(Graphical note: the control panel has its own colour palette,
independent of the room or characters. However, colours 17,18 and 19 are
still used for the mouse pointer. If you are using Dpaint you will have to
pick up the panel and save it as a brush so that it is smaller then the full
screen.)
The inventory
-------------
This is a list of every item that the player can possess during
the adventure. These items are similar to any other kind of object, but they
don't have a physical position and are always available to the player.
The player can acquire items by picking them up. There are also script
(see 'scripts', next section) commands for adding or removing inventory
items.
Drawing a room
--------------
This is the real test of your artistic talent. If you can't draw you
could:
1. Get someone else who can, or
2. Buy a scanner and use photographs, or artwork on paper, or
3. Draw it anyway. As I have said before, top-class artwork is nice but
not essential, or
4. Go and write a text adventure (sad person).
When you are producing a picture, note that:
1. You must keep the palette consistent with any characters to be used on
that screen.
3. Strong shadows and reflections should be avoided or the characters
will look like vampires. (ie. they don't have shadows or reflections.)
4. Any object that the characters can go behind will need to be cut out
as a brush and saved on a separate screen. (More on this later.)
Moving characters (Walk zones)
------------------------------
When the player clicks on a point on the screen, the PC (player character)
has to walk there. This sounds simple enough, and so it is, but first GRAC
needs to know which parts of the screen the character can walk on. These
areas are defined using zones.
A zone is a rectangular area on the screen. Of course, floors are not
always rectangular so it is possible to join several zones together to cover
the entire area. Zones are edited in the room editor of GRAC.
Points
------
A point is a composite entity comprising the following:
1. An X and Y coordinate on the screen (set using the mouse)
2. A direction for a character to face.
Characters can be positioned at points or can be made to walk to them.
Every game will need at least one point in the starting room, for the initial
position of the character. The starting position is set using the 'start'
button in the main menu.
At this point you should be able to put together a running GRAC game
featuring a character walking around a room. Hardly ground-breaking stuff,
but it's a start. The problem now is that the player cannot interact with
anything. This is achieved by adding objects.
Objects
-------
The main purposes of objects are:
1. As something that characters can walk behind, to make a scene appear
more three dimensional.
2. To add a background animation.
3. To be combined with verbs so that the player can interact with the
game environment.
The first and second uses require foreground objects. The third could use
foreground or background objects. The difference between the two is that
foreground objects are displayed in front of the picture while background
objects are part of the picture. Foreground objects need to be grabbed in
the same way as characters, but using the object editor. Set the hot spot to
the bottom centre, where the object touches the ground.
Objects higher up on the screen are displayed behind objects lower down.
This applies to characters too. This effect provides a kind of perspective
so that objects in front will appear closer.
Objects can also be animated. This will be explained later.
Foreground objects have two disadvantages. The first is that they take up
a lot of memory, the second is that if too many are displayed at once the
game will slow down. If an object does not need to be animated or appear in
front of anything a background object can be used instead. Background
objects do not need to be grabbed and take up no processor time. In most
ways the two types of object are identical; in fact the player will not know
the difference.
Interaction
-----------
For an object to register under the mouse pointer it needs to have a name.
For example, if you create an object and call it 'toothbrush', the word
'toothbrush' will appear in the message line when the mouse pointer is moved
over the object. Generally, a character will need to walk up to an object
before doing anything with it, so GRAC needs to know where the character has
to walk to. This is achieved by giving the object a 'base', which is a
position on the floor near the object.
This is all very well; now the player can look at the toothbrush and walk
up to it. It is a good idea to give all relevant objects descriptions which
are printed when the player selects examine (or a verb to that effect). The
description is known as a 'string' (a string of letters).
You may want the player to be able to pick up the toothbrush. This
requires two things.
1. An inventory item called 'toothbrush'.
2. A flag.
Oh no, what's a flag? And what has it got to do with toothbrushes? Well,
flags are used for signalling. In this case it is a signal to GRAC that the
toothbrush has been taken, so to make it disappear from the screen. Flags are
referred to by number. This is the first flag, so call it number 1. So flag
number 1 means 'the toothbrush isn't there any more'. Flag number 2 may mean
something completely different. There are 1000 flags; plenty for all
occasions. You actually have to input '-1' for the flag number, for reasons
explained in the reference file.
(technical note: A flag is actually a variable, and the numbers refer to
an array with 1000 elements. A value of zero means FALSE, any other value
means TRUE. The default is FALSE.)
Having picked up the toothbrush, the player may want to use it. Any
actions except for examining something or picking it up are dealt with using
scripts, described in the section below.
Scripts
-------
A script is a short program in GRAC's built-in language. There are many
commands available, designed to cope with almost anything that could happen
in an adventure. Scripts can be called by a variety of events, such as:
A new room being loaded,
A character performing an action,
A character walking into a certain area on screen,
Another script.
Once the script is running, you are in complete control of what happens
next. Scripts can make characters walk and talk, start animations, control
sound effects.... the possibilities are endless.
For a list of all of the commands, look at the 'commands' file.
In this file I have provided an overview of GRAC, which should be enough
to get you started. Full instructions are available in the 'reference' file.